// #ifdef H5
var wx = require('jweixin-module'); 
// #endif 
import config from "../config.js";
import * as userApi from '@/api/user'

let yq = uni.getStorageSync('userInfo').user_id
export default {
	//初始化
	initJssdkShare: function(callback, url) {
		var url = url
		let _this = this
		let token = uni.getStorageSync("AccessToken")
		//这一步需要调用后台接口,返回需要的签名 签名时间戳 随机串 和公众号appid
		//注意url:window.location.href.split('#')[0] //
		let appid = uni.getStorageSync('appid')
		if(appid){
			
		}else{

			let _this = this
			userApi.app_wx({
				wxapp_id: _this.$wxapp_id,
			}).then(res => {
				uni.setStorageSync('appid',res.data)
				appid = res.data
			})

		}
		userApi.getWxShareSign({
			url, // url是当前页面的url
			wxapp_id: config.wxapp_id,
			token: token
		}).then(res => {
				wx.config({
					debug: false,//调试的时候需要 在app上回弹出errmg:config ok 的时候就证明没问题了 这时候就可以改为false
					appId: appid,//appid
					timestamp: res.data.timestamp,//时间戳
					nonceStr: res.data.nonceStr,//随机串 
					signature: res.data.signature,//签名
					jsApiList: ["updateAppMessageShareData", "updateTimelineShareData",'chooseWXPay','onMenuShareAppMessage']//必填 是下面需要用到的方法集合
				})
				if(callback){
					callback()
				}
		})
	},
	// data是穿的参数 url是当前页面的链接
	share:function(data,url){
		let token = uni.getStorageSync("AccessToken")
		this.initJssdkShare(function(){
			
			wx.ready(function(){
				var sharedata={
					title: data.title, //标题
					desc: data.desc, //描述
					link: data.link+'?yq='+yq ,//分享链接
					imgUrl:data.imgUrl, //图片
					success:(res=>{
					})
				};
				wx.updateAppMessageShareData(sharedata)//自定义微信分享给朋友
				wx.onMenuShareAppMessage(sharedata)
				wx.updateTimelineShareData(sharedata);//自定义微信分享给朋友
			})
		},url)
	},
	payment:function(data,url){
		console.log(data);
		this.initJssdkShare(function(){
			
			wx.ready(function(){
				var paymentdata={
					appId: data.appId,
					timestamp: String(data.timeStamp), // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
					nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位
					package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
					signType: 'MD5', // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
					paySign: data.paySign, // 支付签名
					success:(res=>{
						let _this = this
						let token = uni.getStorageSync("AccessToken")
						if(res.err_msg === 'get_brand_wcpay_request:ok'){
							uni.showToast({
								title:"支付成功",
								icon:"success"
							})
							userApi.userInfo({
								wxapp_id: _this.$wxapp_id,
								token: token
							}).then(res => {
								if(result.code === 1){
									uni.setStorageSync('userInfo',result.data);
								}
							})
						}
						if(res.err_msg === 'get_brand_wcpay_request:cancel'){
							uni.showToast({
								title:"取消支付",
								icon:"error"
							})
							return
						}
						if(res.err_msg === 'get_brand_wcpay_request:fail'){
							uni.showToast({
								title:"支付失败",
								icon:"none"
							})
							return
						}
						
					}),
					fail:(res => {
						uni.showToast({
							title:res,
							icon:"none"
						})
						return
					})
				};
				wx.chooseWXPay(paymentdata)
			})
		},url)
	}
}
